﻿/*
 *********************************************************************************** 
 * 程序信息：                                                                      *
 *     制作/更改时间：                                                             *
 *     作者：gfdgd xi                                                              *
 *     程序编辑平台（最近一次）：Visual Studio 2019 Professional 以及 Windows 8.1  *
 *     程序目的：通过系统API函数弹出或收起光驱                                     *
 ***********************************************************************************
 */
// 程序头文件
using System;
// using System.Data;
// using System.Drawing;
// using System.Linq;
// using System.Text;
// （这些头文件不太重要，根据软件编辑器的意见注释掉了）
using System.Windows.Forms;
using System.Runtime.InteropServices; // 最核心的头文件

namespace 开关光驱
{
    public partial class Form1 : Form
    {
        [DllImport("winmm.dll")] // 调用API函数
        public static extern int mciSendString(string s1, string s2, int i1, int i2);
        public Form1()
        {
            InitializeComponent(); // 实例程序
        }

        private void button1_Click(object sender, EventArgs e) // “弹出光驱(Eject optical drive)”的单击事件
        {
            mciSendString("set cdaudio door open", "", 0, 0); // 弹出光驱
        }

        private void button2_Click(object sender, EventArgs e) // “收起光驱(Fold up the optical drive)”的单击事件
        {
            mciSendString("set cdaudio door closed", "", 0, 0); // 收起光驱
        }

        private void 最小化ToolStripMenuItem_Click(object sender, EventArgs e) // 对应“程序(Software)→最小化(Minimize)”单击事件
        {
            this.WindowState = FormWindowState.Minimized; // 最小化窗口
        }

        private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) // 对应“程序(Software)→退出(Exit)”单击事件
        {
            this.Close(); // 触发关闭事件
        }
        // 这里因程序不需要关闭事件，所以注释掉了
        // private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        // {
        //
        // }
    }
}
